package cn.cubic.sys.modular.order.model.result;

import java.util.Date;
import lombok.Data;
import java.io.Serializable;

/**
 * 订单信息表
 */
@Data
public class OrderResult implements Serializable {

    /**
     * id
     */
    private Long id;

    /**
     * 小鹅通订单id
     */
    private String eOrderId;

    /**
     * 小鹅通用户ID
     */
    private String eUserId;

    /**
     * 资源类型：1-图文，2-音频，3-视频，4-直播，0/5/6/8-会员/专栏/大专栏，7-社群 ，20-电子书，21-实物商品，23-超级会员，25-训练营，29-线下课，31-小班课，35-大班课，41-有价优惠券
     */
    private Integer resourceType;

    /**
     * 资源id
     */
    private String eResourceId;

    /**
     * 资源名
     */
    private String title;

    /**
     * 购买个数
     */
    private Integer count;

    /**
     * order_type
     */
    private String orderType;

    /**
     * 价格，单位分
     */
    private Integer price;

    /**
     * 优惠详情：明细
     */
    private String discountData;

    /**
     * 总折扣价格，单位分
     */
    private Integer discountPrice;

    /**
     * 优惠券id
     */
    private String couponId;

    /**
     * 优惠券名称
     */
    private String couponName;

    /**
     * 优惠券抵扣金额，单位分
     */
    private Integer couponPrice;

    /**
     * 订单状态：0-未支付，1-支付成功，2-支付失败，3-已退款(如拼团未成功等情况)，6-订单超时未支付，自动取消，7-手动取消，8-退款中，9-退款失败，10-退款成功，11-部分退款
     */
    private Integer orderState;

    /**
     * 发货状态：0-禁止发货，1-未发货，2-已发货，3-已收货，4-部分发货
     */
    private Integer shipState;

    /**
     * 拼团状态：0-进行中 1-拼团成功 2-拼团失败
     */
    private Integer teamBuyState;

    /**
     * 支付方式 -1-未指定支付方式 0-线上微信 1-线上支付宝 2-IOS支付 3-安卓支付 4-线下支付
     */
    private Integer payWay;

    /**
     * 收款方式：1-知识助手，0-自有商户，2-服务商模式
     */
    private Integer collectionWay;

    /**
     * 外部订单
     */
    private String outOrderId;

    /**
     * 交易单号
     */
    private String transactionId;

    /**
     * client_type
     */
    private Integer clientType;

    /**
     * 用户下单时所用的设备信息
     */
    private String systemInfo;

    /**
     * 订单创建时间
     */
    private Date eCreatedTime;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 退款时间
     */
    private Date refundTime;

    /**
     * 结算时间
     */
    private Date settleTime;

    /**
     * 退款金额，单位是分
     */
    private Integer refundMoney;

    /**
     * 收件姓名
     */
    private String receiverName;

    /**
     * 收件地址
     */
    private String receiverDetail;

    /**
     * 收件人电话
     */
    private String receiverPhone;

}
